package com.hundsun.cprs.yyt.service.order.dao;

import java.util.List;

import com.hundsun.cprs.yyt.service.order.domain.Order;
import com.hundsun.cprs.yyt.service.order.domain.query.OrderInfoQuery;
import com.hundsun.cprs.yyt.service.order.domain.query.OrderQuery;
import com.hundsun.cprs.yyt.service.order.dto.OrderInfo;

public interface OrderDao {
    int deleteByPrimaryKey(Long id);

    int insert(Order record);

    int insertSelective(Order record);

    Order selectByPrimaryKey(Long id);

    List<Order> selectByQuery(OrderQuery query);

    List<OrderInfo> selectOrderInfoByQuery(OrderInfoQuery query);

    List<OrderInfo> selectOrderInfoByQueryExt(OrderInfoQuery query);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    OrderInfo selectOrderInfoById(Long orderId);

    /**
     * 根据订单编号查询订单详情
     *
     * @param orderSn
     */
    OrderInfo selectOrderInfoByOrderSn(String orderSn);

    int deleteByOrderId(Long orderId);
}